{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#  Support Vector Machine with Grid Search\n",
    "SVM is trained on feature set 1"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##  Get the data "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Stored variables and their in-db values:\n",
      "X_16_val                  -> array([[ 3.00880939,  0.26443017,  1.05370334, ...\n",
      "X_32_val                  -> array([[-0.13964146,  0.53184264, -0.71694033, ...\n",
      "X_32test_std              -> defaultdict(<class 'list'>, {0: array([[-0.1396414\n",
      "X_32train_std             -> array([[-0.80277066, -0.49489511, -0.83240094, ...\n",
      "X_test                    -> defaultdict(<class 'list'>, {0: array([[[-0.006215\n",
      "X_test_std                -> defaultdict(<class 'list'>, {0: array([[ 3.0088093\n",
      "X_train                   -> array([[[-0.01174874, -0.00817356, -0.0042913 , ..\n",
      "X_train_std               -> array([[-0.80277066, -0.49489511, -0.83240094, ...\n",
      "snrs                      -> [-20, -18, -16, -14, -12, -10, -8, -6, -4, -2, 0, \n",
      "y_16_val                  -> array([3, 5, 1, ..., 2, 4, 0])\n",
      "y_32_test                 -> defaultdict(<class 'list'>, {0: array([2, 2, 3, ..\n",
      "y_32_train                -> array([5, 0, 2, ..., 4, 6, 6])\n",
      "y_32_val                  -> array([2, 2, 3, ..., 0, 3, 5])\n",
      "y_test                    -> defaultdict(<class 'list'>, {0: array([3, 5, 1, ..\n",
      "y_train                   -> array([5, 0, 2, ..., 4, 6, 6])\n"
     ]
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import warnings\n",
    "warnings.filterwarnings('ignore')\n",
    "\n",
    "import numpy as np\n",
    "from collections import defaultdict\n",
    "from time import time\n",
    "import pickle  \n",
    "import sklearn\n",
    "from sklearn import metrics\n",
    "from sklearn.model_selection import GridSearchCV\n",
    "\n",
    "%store -r\n",
    "%store"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Training data:  (80000, 16) and labels:  (80000,)\n",
      " \n",
      "Test data:\n",
      "Total 20 (4000, 16) arrays for SNR values:\n",
      "[-20, -18, -16, -14, -12, -10, -8, -6, -4, -2, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18]\n"
     ]
    }
   ],
   "source": [
    "print(\"Training data: \", X_train_std.shape, \"and labels: \", y_train.shape)\n",
    "print(\" \")\n",
    "print(\"Test data:\")\n",
    "print(\"Total\", len(X_test_std), X_test_std[18].shape, \"arrays for SNR values:\")\n",
    "print(sorted(X_test_std.keys()))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Train and test the classifier"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fitting 3 folds for each of 36 candidates, totalling 108 fits\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Done 108 out of 108 | elapsed: 913.2min finished\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Grid search took 920.00 minutes \n",
      "   \n",
      "Result of grid search, best estimator:\n",
      "SVC(C=100.0, cache_size=5000, class_weight=None, coef0=0.0,\n",
      "  decision_function_shape=None, degree=3, gamma=0.01, kernel='rbf',\n",
      "  max_iter=-1, probability=False, random_state=None, shrinking=True,\n",
      "  tol=0.001, verbose=False)\n"
     ]
    }
   ],
   "source": [
    "#Train the classifier\n",
    "\n",
    "from sklearn import svm\n",
    "\n",
    "params = {'C': np.logspace(-3, 2, 6), 'gamma': np.logspace(-3, 2, 6)}\n",
    "\n",
    "grid_search_cv = GridSearchCV(svm.SVC(cache_size = 5000), params, verbose=1)\n",
    "\n",
    "start = time()\n",
    "grid_search_cv.fit(X_train_std, y_train)\n",
    "print(\"Grid search took %.2f minutes \"%((time() - start)//60))\n",
    "print(\"   \")\n",
    "print(\"Result of grid search, best estimator:\")\n",
    "print(grid_search_cv.best_estimator_)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### Grid search tries 6x6 = 36 combinations (6 values of C and 6 values of gamma). Also, the default is 3 folds of cross validation. So total 36x3 = 108 runs"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Test the classifier\n",
      " \n",
      "SVM's accuracy on -20 dB SNR samples =  0.1225\n",
      "SVM's accuracy on -18 dB SNR samples =  0.11975\n",
      "SVM's accuracy on -16 dB SNR samples =  0.13175\n",
      "SVM's accuracy on -14 dB SNR samples =  0.14225\n",
      "SVM's accuracy on -12 dB SNR samples =  0.16075\n",
      "SVM's accuracy on -10 dB SNR samples =  0.17175\n",
      "SVM's accuracy on -8 dB SNR samples =  0.25325\n",
      "SVM's accuracy on -6 dB SNR samples =  0.33875\n",
      "SVM's accuracy on -4 dB SNR samples =  0.4035\n",
      "SVM's accuracy on -2 dB SNR samples =  0.4015\n",
      "SVM's accuracy on 0 dB SNR samples =  0.45525\n",
      "SVM's accuracy on 2 dB SNR samples =  0.6095\n",
      "SVM's accuracy on 4 dB SNR samples =  0.75125\n",
      "SVM's accuracy on 6 dB SNR samples =  0.779\n",
      "SVM's accuracy on 8 dB SNR samples =  0.7745\n",
      "SVM's accuracy on 10 dB SNR samples =  0.784\n",
      "SVM's accuracy on 12 dB SNR samples =  0.7755\n",
      "SVM's accuracy on 14 dB SNR samples =  0.7905\n",
      "SVM's accuracy on 16 dB SNR samples =  0.775\n",
      "SVM's accuracy on 18 dB SNR samples =  0.77675\n"
     ]
    }
   ],
   "source": [
    "#Test the classifier\n",
    "\n",
    "import collections\n",
    "\n",
    "y_pred = defaultdict(list)\n",
    "accuracy = defaultdict(list)\n",
    "\n",
    "print(\"Test the classifier\")\n",
    "print(\" \")\n",
    "for snr in snrs:\n",
    "    y_pred[snr] = grid_search_cv.predict(X_test_std[snr])\n",
    "    accuracy[snr] = metrics.accuracy_score(y_test[snr], y_pred[snr])\n",
    "    print(\"SVM's accuracy on %d dB SNR samples = \"%(snr), accuracy[snr])   \n",
    "    \n",
    "accuracy = collections.OrderedDict(sorted(accuracy.items()))  #sort by ascending SNR value"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##  Visualize classifier performance"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1729780f470>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.style.use('classic')\n",
    "\n",
    "fig = plt.figure(figsize=(8, 4), dpi=100)\n",
    "x = snrs\n",
    "y = list(accuracy.values())\n",
    "plt.plot(x, y, marker=\"o\", linewidth=2.0, linestyle='dashed', color='royalblue')\n",
    "plt.axis([-20, 20, 0, 1])\n",
    "plt.xticks(np.arange(min(x), max(x)+1, 2.0))\n",
    "plt.yticks(np.arange(0, 1, 0.10))\n",
    "\n",
    "ttl = plt.title('SNR vs Accuracy', fontsize=16)\n",
    "ttl.set_weight('bold')\n",
    "plt.xlabel('SNR (dB)', fontsize=14)\n",
    "plt.ylabel('Test accuracy', fontsize=14)\n",
    "plt.grid()\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Confusion Matrix Without Normalization\n",
      "       8PSK  BPSK  CPFSK  GFSK  PAM4  QAM16  QAM64  QPSK\n",
      "8PSK    400     2      0     0     3     48     53    14\n",
      "BPSK      0   483      0     0    11      3      7     2\n",
      "CPFSK    46     1    456   101     1      1      0     4\n",
      "GFSK     12     1     44   399     1      3     12     6\n",
      "PAM4      1    12      0     0   482      7      3     0\n",
      "QAM16     9     1      0     0     0    141    116    12\n",
      "QAM64    10     0      0     0     1    258    290     6\n",
      "QPSK     22     0      0     0     1     39     19   456\n"
     ]
    }
   ],
   "source": [
    "# Confusion Matrix\n",
    "\n",
    "from sklearn.metrics import confusion_matrix\n",
    "import pandas as pd\n",
    "\n",
    "classes = ['8PSK', 'BPSK', 'CPFSK', 'GFSK', 'PAM4', 'QAM16', 'QAM64', 'QPSK']\n",
    "y_predicted = grid_search_cv.predict(X_test_std[18])\n",
    "conf_matrix = confusion_matrix(y_predicted, y_test[18]) \n",
    "\n",
    "df = pd.DataFrame(data = conf_matrix, columns = classes, index = classes) \n",
    "print(\"Confusion Matrix Without Normalization\")\n",
    "print(df)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Confusion Matrix\n",
      "       8PSK  BPSK  CPFSK  GFSK  PAM4  QAM16  QAM64  QPSK\n",
      "8PSK   0.77  0.00   0.00  0.00  0.01   0.09   0.10  0.03\n",
      "BPSK   0.00  0.95   0.00  0.00  0.02   0.01   0.01  0.00\n",
      "CPFSK  0.08  0.00   0.75  0.17  0.00   0.00   0.00  0.01\n",
      "GFSK   0.03  0.00   0.09  0.83  0.00   0.01   0.03  0.01\n",
      "PAM4   0.00  0.02   0.00  0.00  0.95   0.01   0.01  0.00\n",
      "QAM16  0.03  0.00   0.00  0.00  0.00   0.51   0.42  0.04\n",
      "QAM64  0.02  0.00   0.00  0.00  0.00   0.46   0.51  0.01\n",
      "QPSK   0.04  0.00   0.00  0.00  0.00   0.07   0.04  0.85\n"
     ]
    },
    {
     "data": {
      "image/png": "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\nEolEIvD/V4X/00I40JQAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x2878326cc0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Confusion Matrix\n",
    "\n",
    "from sklearn.metrics import confusion_matrix\n",
    "\n",
    "classes = ['8PSK', 'BPSK', 'CPFSK', 'GFSK', 'PAM4', 'QAM16', 'QAM64', 'QPSK']\n",
    "y_predicted = grid_search_cv.predict(X_test_std[18])\n",
    "conf_matrix = confusion_matrix(y_predicted, y_test[18])  \n",
    "\n",
    "conf_matrix = conf_matrix.astype('float') / conf_matrix.sum(axis=1)[:, np.newaxis]\n",
    "conf_matrix = conf_matrix.round(decimals = 2)\n",
    "\n",
    "import pandas as pd\n",
    "\n",
    "df = pd.DataFrame(data = conf_matrix, columns = classes, index = classes) \n",
    "print(\"Confusion Matrix\")\n",
    "print(df)\n",
    "\n",
    "fig1 = plt.figure(figsize=(8, 4), dpi=100)\n",
    "plt.imshow(conf_matrix, interpolation = 'nearest', cmap = plt.cm.Purples)\n",
    "ticks = np.arange(len(classes))\n",
    "plt.title(\"Confusion Matrix\")\n",
    "plt.xticks(ticks, classes, rotation=45)\n",
    "plt.yticks(ticks, classes)\n",
    "\n",
    "plt.ylabel('True class')\n",
    "plt.xlabel('Predicted class')\n",
    "\n",
    "plt.tight_layout()\n",
    "plt.colorbar()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['svm2.pkl']"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.externals import joblib\n",
    "\n",
    "joblib.dump(grid_search_cv, \"svm2.pkl\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import pickle\n",
    "from sklearn.externals import joblib\n",
    "\n",
    "grid_search_cv = joblib.load(\"svm2.pkl\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "anaconda-cloud": {},
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
